SQL Server Trigger Örneği - Bir Sütundaki Değeri Başka Bir Sütuna Yazdırma
Merhabalar,
SQL Server'da bir sütundaki değeri başka bir sütuna yazdırmak için bir trigger yazabilirsiniz. Bu database altında değil de veritabanı tablosu altında olabilir.
Trigger'ı şöyle oluşturduğumuzda istediğimiz oluyor:
CREATE TRIGGER [dbo].[UrunFiyatHesapla]
ON [dbo].[UrunFiyatlari]
AFTER INSERT,UPDATE
AS
BEGIN
declare
@UrunId Int,
@Fiyat1 decimal (18,2),
@Fiyat2 decimal (18,2)
Select @UrunId=Id,@Fiyat2=Fiyat1 from inserted
Update UrunFiyatlari Set Fiyat2 = @Fiyat2 where Id=@UrunId
END
Eğer farklı işlem yaptırıp yazdıracaksanız şöyle de düzenleyebiliriz:
CREATE TRIGGER [dbo].[CalculateHostingPriceWVat]
ON [dbo].[Def_HostingPrices]
AFTER INSERT,UPDATE
AS
BEGIN
declare
@UrunId Int,
@Fiyat1 decimal (18,2),
@Fiyat2 decimal (18,2),
@KDVTutari decimal(18,2)
Select @UrunId=Id,@Fiyat1=PriceWOVat from inserted
Select @KDVTutari=KDV.KdvOrani from KDV INNER JOIN KDVOranlari on KDV.KDVOraniId = KDVOranlari.Id where UrunFiyatlari.Id=@UrunId
Set @Fiyat2 = ((@Fiyat1 / 100) * @VatRatio) + @Fiyat1
Update UrunFiyatlari Set Fiyat2 = @Fiyat2 where Id=@UrunId
END
Umarım işinize yarar.
İyi çalışmalar,
Recep.